// pages/balance/balancePayList/balancePayList.js
const rechargeService = require('../../../../api/rechargeService.js')
const auth = require('../../../../utils/auth.js')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    payList: [],
    mobile: '',
    page: 1,
    pageSize: 20,
    pageCount: 1
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var _userInfo = auth.getUser();
    // console.log(_userInfo)
    if (_userInfo && _userInfo.member) {
      this.setData({
        mobile: _userInfo.member.mobile
      })
    }
    this.handelQueryList(this.data.page);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      payList: [],
      mobile: '',
      page: 1,
      pageCount: 1
    })
    this.onLoad();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.page < this.data.pageCount) {
      // 如果查询结果数量不为0，说明还有下一页，执行查询操作
      let page = this.data.page;
      ++page;
      this.handelQueryList(page);
    } else {
      // 没有下一页，提示已经查询完毕
      wx.showToast({
        title: '没有更多数据了~',
        icon: 'none',
        duration: 1500
      })
    }
  },

  /**
   * 调用接口获取储值明细
   */
  handelQueryList: function(page) {
    rechargeService.queryList(page, this.data.pageSize, this.data.mobile).then(res => {
      // console.log(res)
      if (res && res.records && res.records.length >= 0) {
        let tempPayList = this.data.payList;
        res.records.forEach(item => {
          let tempState = true; // true 表示正数，false表示负数
          if (item.occurTotal < 0 || item.action === '消费' || item.action === 'consume') {
            tempState = false
          } else {
            tempState = true
          }
          tempPayList.push({
            ...item,
            state: tempState
          })
        })
        let pageCount = parseInt(res.recordCount / res.pageSize) + 1;
        this.setData({
          page: res.page,
          pageCount: pageCount,
          payList: tempPayList
        })
      }
    }).catch(err => {
      wx.showToast({
        title: err.message,
        icon: 'none',
        duration: 2000
      })
    })
  }
})